package app.htby.utils;

import java.util.UUID;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * 配置文件路径 @PropertySource(value = "classpath:config.yml")
 * spring-boot更新到1.5.2版本后locations属性无法使用,@PropertySource注解只可以加载proprties文件,无法加载yaml文件
 * 并且不能读取到static属性，需要使用其他方法，如下@Value 
 * 
 * @author lfy.xys
 * @date 2018年5月3日
 *
 */
@Component
public class IOTSUtils {
	
	/** 当前系统id */
	public static Integer THIS_SYSTEM_ID = 5;
	
	/** Timer延迟时间 delay:延迟 */
	public static int MONITOR_TIMER_DELAY_TIME;

	/** Timer间隔时间 interval间隔 */
	public static int MONITOR_TIMER_INTERVAL_TIME;
	
	
	@Value("${sysconfig.monitorTimer.delayTime}")
	public void setMONITOR_TIMER_DELAY_TIME_STR(String delayTime) {
		IOTSUtils.MONITOR_TIMER_DELAY_TIME = Integer.parseInt(delayTime);
	}

	@Value("${sysconfig.monitorTimer.intervalTime}")
	public void setMONITOR_TIMER_INTERVAL_TIME_STR(String intervalTime) {
		IOTSUtils.MONITOR_TIMER_INTERVAL_TIME = Integer.parseInt(intervalTime);
	}
	

	@Value("${server.thisServerId}")
	public void setTHIS_SYSTEM_ID(String THIS_SYSTEM_ID) {
		IOTSUtils.THIS_SYSTEM_ID = Integer.parseInt(THIS_SYSTEM_ID);
	}
	
	 /**
     * 得到随机的22位UUID
     * @return 22位UUID
     */
    public static String getUUID() {
        StringBuilder sb = new StringBuilder("0");
        String uuid = UUID.randomUUID().toString();
        uuid = uuid.replaceAll("-", "");
        sb.append(uuid);
        uuid = NewLang.hexTo64(sb.toString());
     
        //System.out.println("uuid:"+uuid);
        return uuid;
    }
}
